package com.dwjm.controller;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.dwjm.entity.BbsExample;
import com.dwjm.service.BbsExampleService;

/**
 * 论坛学人表Controller层
 * 
 * @date 2016年12月26日
 * @auther luans
 */
@Controller
@RequestMapping("bbseplctr")
public class BbsExampleController {
	@Resource
	private BbsExampleService bbsExampleServiceImpl;
	
	
	/**
	 * 去论坛学人列表页面：分页查询
	 * 
	 * @param BbsExample
	 * @return ModelAndView
	 * @date 2016年12月26日
	 * @auther luans
	 */
	@RequestMapping("bbslist")
	public ModelAndView queryListByPage(BbsExample bbs) {
		ModelAndView mv = new ModelAndView();
		if (bbs.getPageInfo().getPageSize() < 10) {// 每页显示条数
			bbs.getPageInfo().setPageSize(10);
		}
		List<BbsExample> list = bbsExampleServiceImpl.queryListByPage(bbs);
		
		mv.setViewName("/manager/bbsExample/bbsExample");

		mv.addObject("list", list);
		mv.addObject("bbs", bbs);

		return mv;
	}

	
	/**
	 * 去学人操作页面：添加、编辑、查看
	 * 
	 * @param BbsExample
	 * @return ModelAndView
	 * @date 2016年12月26日
	 * @auther luans
	 */
	@RequestMapping("tobbsmange")
	public ModelAndView tobbsManage(BbsExample bbs) {
		ModelAndView mv = new ModelAndView();
		if (bbs.getMarkManage() == 1) {
			mv.addObject("bbs", bbs);
			mv.setViewName("/manager/bbsExample/bbsExampleManage");
		} else if (bbs.getMarkManage() == 2) {

			BbsExample b = bbsExampleServiceImpl.selectByPrimaryKey(bbs.getBbsId());
			b.setCondition(bbs.getCondition());
			b.setMarkManage(bbs.getMarkManage());
			b.setPageInfo(bbs.getPageInfo());
			b=this.setDatetoString(b);
			mv.addObject("bbs", b);
			
			mv.setViewName("/manager/bbsExample/bbsExampleManage");
			return mv;

		} else if (bbs.getMarkManage() == 3) {

			BbsExample b = bbsExampleServiceImpl.selectByPrimaryKey(bbs.getBbsId());
			b.setCondition(bbs.getCondition());
			b.setMarkManage(bbs.getMarkManage());
			b.setPageInfo(bbs.getPageInfo());
			b=this.setDatetoString(b);
			mv.addObject("bbs", b);
			mv.setViewName("/manager/bbsExample/bbsExampleSel");
			return mv;
		}
		

		return mv;

	}

	/**
	 * 文案操作：查看、编辑
	 * 
	 * @param News
	 * @return ModelAndView
	 * @date 2016年12月24日
	 * @auther luans
	 */
	@RequestMapping("bbsmange")
	public ModelAndView bbsManage(BbsExample bbs) {
      
		if (bbs.getMarkManage() == 1) {
			bbs=this.setStringtoDate(bbs);
			bbsExampleServiceImpl.insertSelective(bbs);
		} else if (bbs.getMarkManage() == 2) {
			bbs=this.setStringtoDate(bbs);
			bbsExampleServiceImpl.updateByPrimaryKey(bbs);
		} else if (bbs.getMarkManage() == 4) {
			BbsExample b = new BbsExample();
			b.setBbsId(bbs.getBbsId());
			b.setBbsStatus(3);// 状态：1未发布；2已发布；3删除
			bbsExampleServiceImpl.updateByPrimaryKey(b);
		}

		return queryListByPage(bbs);
	}

	/**
	 * 设置时间格式：String转Date
	 * 
	 * @param BbsExample
	 * @return BbsExample
	 * @author luans
	 * @date 2016年12月26日
	 *
	 */
	public BbsExample setStringtoDate(BbsExample bbs) {

		SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

		// 定时开始时间
		if (bbs.getBbsPublishTime_sel() != null
				&& !"".equals(bbs.getBbsPublishTime_sel())) {
			try {
				bbs.setBbsPublishTime(fmt.parse(bbs.getBbsPublishTime_sel()));
			} catch (ParseException e) {
				System.out.println("转换有日期格式出错！");
			}
		}
		 

		return bbs;
	}

	/**
	 * 设置时间格式：Date转String
	 * 
	 * @param BbsExample
	 * @return BbsExample
	 * @author luans
	 * @date 2016年12月25日
	 *
	 */
	public BbsExample setDatetoString(BbsExample bbs) {

		SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

		// 定时开始时间
		if (bbs.getBbsPublishTime() != null) {
			bbs.setBbsPublishTime_sel(fmt.format(bbs.getBbsPublishTime()));
		}
		 
		return bbs;
	}
	
	/**
	 * PC端：去论坛学人列表页面
	 * 
	 * @param BbsExample
	 * @return ModelAndView
	 * @date 2016年12月27日
	 * @auther luans
	 */
	@RequestMapping("pcbbslist")
	public ModelAndView pcqueryListByPage(BbsExample bbs) {
		ModelAndView mv = new ModelAndView();
		bbs.getPageInfo().setPageSize(18);
		List<BbsExample> list = bbsExampleServiceImpl.queryListByPage(bbs);
		bbs.setCountNum(bbsExampleServiceImpl.queryCountNum());
		
		mv.addObject("list", list);
		mv.addObject("bbs", bbs);
		mv.setViewName("/pc/bbsExample/bbsExample");
		
		return mv;
	}
	/**
	 * PC端：去论坛学人查看页面
	 * 
	 * @param id:学人id
	 * @return ModelAndView
	 * @date 2016年12月28日
	 * @auther luans
	 */
	@RequestMapping("pcbbs")
	public ModelAndView pcBbsExample(BbsExample bbs) {
		int id=0;
		if(bbs!=null && bbs.getBbsId()!=null){
			id=bbs.getBbsId();
		}
		ModelAndView mv = new ModelAndView();
		BbsExample bbs1= bbsExampleServiceImpl.selectByPrimaryKey(id);
		List<BbsExample> bbs2= bbsExampleServiceImpl.selectLastNext(1,id);
		List<BbsExample> bbs3= bbsExampleServiceImpl.selectLastNext(2,id);
		
		mv.addObject("bbs", bbs);
		mv.addObject("bbs1", bbs1);
		mv.addObject("bbs2", bbs2);
		mv.addObject("bbs3", bbs3);
		mv.setViewName("/pc/bbsExample/bbsExampleSel");
		
		return mv;
	}

	
}
